// 防抖操作
/*
export function debounce(func, delay) {
    let timer = null

    // 返回有个新的函数 执行传进来的函数
    return function (...args) {
        // 如果现在有上一个的定时器在执行 便清除掉
        if (timer) clearTimeout(timer)

        // func = this.$refs.scroll.scroll.refresh, 300
        timer = setTimeout(() => {
            func.apply(this, args);
        }, delay)
    }
}
*/
// 防抖操作
export function debounce(func, delay) {
    let timer = null;

    // ...args可以让防抖函数中可传多个值
    // 返回出这个新的函数
    return function (...args) {
        if (timer) clearTimeout(timer);
        timer = setTimeout(() => {
            func.apply(this, args);
        }, delay);
    };
}



// 时间戳
export function formatDate(date, fmt) {
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
    }
    let o = {
        // + 一个或多个
        // * 可有可无
        // ？可有可无 最多一个
        'M+': date.getMonth() + 1,
        'd+': date.getDate(),
        'h+': date.getHours(),
        'm+': date.getMinutes(),
        's+': date.getSeconds(),
    }
    for (let k in o) {
        if (new RegExp(`(${k})`).test(fmt)) {
            let str = o[k] + ''
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.lenght === 1) ? str : padLeftZero(str))
        }
    }
    return fmt
}



function padLeftZero(str) {
    return ('00' + str).substr(str.length)
}